package com.aspose.cells;

class zaox {
   private double a;
   private int[] b;
   private double[] c;

   public boolean a(double var1, double var3, int var5) {
      double var6 = 0.0D;

      for(int var8 = 0; var8 < this.c.length; ++var8) {
         var6 += this.c[var8];
      }

      if (var6 == 0.0D) {
         this.a = 0.0D;
         return true;
      } else {
         double var13 = 0.0D;
         double var10 = 0.0D;

         int var12;
         for(var12 = 0; var12 < var5; ++var12) {
            var10 = this.b(var1);
            if (var10 == 0.0D) {
               this.a = var1;
               return true;
            }

            if ((var6 <= 0.0D || var10 >= 0.0D) && (var6 >= 0.0D || var10 <= 0.0D)) {
               break;
            }

            var1 /= 2.0D;
         }

         for(var12 = 0; var12 < var5; ++var12) {
            var13 = var1;
            var1 -= this.b(var1) / this.a(var1);
            if (Math.abs(var1 - var13) <= var3) {
               this.a = var1;
               return true;
            }
         }

         return false;
      }
   }

   public double a(double var1) {
      double var3 = 0.0D;
      double var5 = 0.0D;
      ++var1;

      for(int var7 = 0; var7 < this.c.length; ++var7) {
         var5 = (double)(this.b[var7] - this.b[0]) / 365.0D;
         if (var1 >= 0.0D) {
            var3 += -var5 * this.c[var7] * zfc.c(var1, -var5 - 1.0D);
         } else if ((int)var5 % 2 == 0) {
            var3 += -var5 * this.c[var7] * zfc.c(-var1, -var5 - 1.0D);
         } else {
            var3 += var5 * this.c[var7] * zfc.c(-var1, -var5 - 1.0D);
         }
      }

      return var3;
   }

   public double b(double var1) {
      double var3 = 0.0D;
      double var5 = 0.0D;
      ++var1;

      for(int var7 = 0; var7 < this.c.length; ++var7) {
         var5 = (double)(this.b[var7] - this.b[0]) / 365.0D;
         if (var1 >= 0.0D) {
            var3 += this.c[var7] * zfc.c(var1, -var5);
         } else if ((int)var5 % 2 == 0) {
            var3 += this.c[var7] * zfc.c(-var1, -var5);
         } else {
            var3 -= this.c[var7] * zfc.c(-var1, -var5);
         }
      }

      return var3;
   }

   zagu a(double[] var1, int[] var2, double var3) {
      this.c = var1;
      this.b = var2;
      boolean var5 = false;
      boolean var6 = false;

      for(int var7 = 0; var7 < var1.length; ++var7) {
         if (var1[var7] > 0.0D) {
            var5 = true;
            if (var6) {
               break;
            }
         } else if (var1[var7] < 0.0D) {
            var6 = true;
            if (var5) {
               break;
            }
         }
      }

      if (var6 && var5) {
         if (this.a(var3, 1.0E-8D, 100)) {
            return new zyy(this.a);
         } else {
            return (zagu)(var3 == 0.1D ? zze.a : this.a(var1, var2, 0.1D));
         }
      } else {
         return zze.a;
      }
   }
}
